﻿using System.Data.Common;

namespace Core.Data
{  
    /// <summary>
    /// 数据服务提供商
    /// </summary>
    public interface IDataProvider
    {
        /// <summary>
        /// 初始化连接工厂
        /// </summary>
        void InitConnectionFactory();

        /// <summary>
        /// 设置数据初始化
        /// </summary>
        void SetDatabaseInitializer();

        /// <summary>
        /// 初始化数据库
        /// </summary>
        void InitDatabase();

        /// <summary>
        /// 是否支持存储过程
        /// </summary>
        bool StoredProceduredSupported { get; }

        /// <summary>
        /// 获取参数
        /// </summary>
        /// <returns>Parameter</returns>
        DbParameter GetParameter();
    }
}
